package com.vue.service;

import com.vue.dto.*;
import com.vue.entity.Teacher;
import com.vue.result.PageResult;
import com.vue.vo.TeacherRegisterVO;
import com.vue.vo.UserInfoVO;
import org.springframework.stereotype.Service;

@Service
public interface TeacherService {

    /**
     * 登录
     * @param loginDTO
     * @return
     */
    Teacher login(LoginDTO loginDTO);

    /**
     * 获取教师信息
     * @param userInfoDTO
     * @return
     */
    Teacher getUserInfo(UserInfoVO userInfoDTO);

    /**
     * 教师分页查询
     * @param teacherPageQueryDTO
     * @return
     */
    PageResult teacherPageQuery(TeacherPageQueryDTO teacherPageQueryDTO);

    /**
     * 课程分页查询
     * @param coursePageQueryDTO
     * @return
     */
    PageResult coursePageQuery(CoursePageQueryDTO coursePageQueryDTO);

    /**
     * 教师找回密码
     * @param forgetPasswordDTO
     */
    void forgetPassword(NewPasswordDTO forgetPasswordDTO);

    /**
     * 根据id删除教师
     * @param id
     */
    void deleteById(Long id);

    /**
     * 教师注册
     * @param teacherRegisterVO
     */
    void register(TeacherRegisterVO teacherRegisterVO);

    /**
     * 添加教师
     * @param teacherDTO
     */
    void add(TeacherDTO teacherDTO);

    /**
     * 修改教师信息
     * @param teacherDTO
     */
    void update(TeacherDTO teacherDTO);

    /**
     * 修改教师密码
     * @param newPwd
     */
    void updatePwd(String newPwd);
}
